import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 寄件信息信息 */
export interface Expressage {
          id: number; // 寄件ID
          userId?: number; // 用户ID
          country?: string; // 收件国家
          shippingType?: boolean; // 运输方式
          customsFiling: boolean; // 是否报关（0否 1是）
          sendName?: string; // 寄件人姓名
          sendMobile?: string; // 寄件人手机号
          sendAddress?: string; // 寄件人详细地址
          sendCompany?: string; // 寄件人公司名称
          sendDept: string; // 寄件人所属部门
          recipientsName?: string; // 收件人姓名
          recipientsMobile?: string; // 收件人手机号
          recipientsAddress?: string; // 收件人详细地址
          recipientsCompany?: string; // 收件人公司名称
          recipientsDept: string; // 收件人所属部门
          payMethod?: string; // 付款方式（0寄付 1到付 2第三方结款）（字典：business_expressage_pay_method）
          customerAccount: string; // 客户账号
          invoiceNum: string; // 发票号
          expressageOrder: string; // 快递单号
          auditStatus?: string; // 审核状态（0未处理 1已出单 2已取消）（字典：business_expressage_audit_status）
          auditDatetime: string | Dayjs; // 审核时间
          auditAdminUserId: number; // 审核人ID
  }

// 寄件信息 API
export const ExpressageApi = {
  // 查询寄件信息分页
  getExpressagePage: async (params: any) => {
    return await request.get({ url: `/business/expressage/page`, params })
  },

  // 查询寄件信息详情
  getExpressage: async (id: number) => {
    return await request.get({ url: `/business/expressage/get?id=` + id })
  },

  // 新增寄件信息
  downloadExpressage: async (type: number, data: array) => {
    return await request.post({ url: `/business/expressage/download/` + type, data })
  },

  // 新增寄件信息
  createExpressage: async (data: Expressage) => {
    return await request.post({ url: `/business/expressage/create`, data })
  },

  // 修改寄件信息
  updateExpressage: async (data: Expressage) => {
    return await request.put({ url: `/business/expressage/update`, data })
  },

  // 删除寄件信息
  deleteExpressage: async (id: number) => {
    return await request.delete({ url: `/business/expressage/delete?id=` + id })
  },

  /** 批量删除寄件信息 */
  deleteExpressageList: async (ids: number[]) => {
    return await request.delete({ url: `/business/expressage/delete-list?ids=${ids.join(',')}` })
  },

  // 导出寄件信息 Excel
  exportExpressage: async (params) => {
    return await request.download({ url: `/business/expressage/export-excel`, params })
  },
}
